package main

import (
	"fmt"
	"reflect"
)

/*
	给你个变量 var v float64 = 1.2 ， 请使用反射来得到他的reflect.Value，然后获取对应的Type, Kind的值，并将reflect.Value转换成interface{}，再将interface{}转换成float64
*/

func reflectTest(b interface{}) {
	rVal := reflect.ValueOf(b)
	fmt.Printf("值是：%v\n", rVal)
	rType := reflect.TypeOf(b)
	fmt.Printf("类型是：%v\n", rType)
	fmt.Printf("Kind是：%v\n", rVal.Kind())
	fmt.Printf("Kind是：%v\n", rType.Kind())
	iV := rVal.Interface()
	num := iV.(float64)
	fmt.Printf("num type is %T\n", num)
}

func main() {

	var v float64 = 1.2
	reflectTest(v)

}